{
 "cells": [
  {
   "cell_type": "markdown",
   "metadata": {
    "slideshow": {
     "slide_type": "slide"
    }
   },
   "source": [
    "# Getting Started"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {
    "slideshow": {
     "slide_type": "subslide"
    }
   },
   "source": [
    "The top of Python files should always be a short documentation about the\n",
    "content of the file, or \"docstring\".\n",
    "\n",
    "This ipyton notebook is short demonstration of Python for scientific data analysis\n",
    "\n",
    "This script covers the following points:\n",
    "\n",
    "* Plotting a sine wave\n",
    "* Generating a column matrix of data\n",
    "* Writing data to a text-file, and reading data from a text-file\n",
    "* Waiting for a button-press to continue the program exectution\n",
    "* Using a dictionary, which is similar to MATLAB structures\n",
    "* Extracting data which fulfill a certain condition\n",
    "* Calculating the best-fit-line to noisy data\n",
    "* Formatting text-output\n",
    "* Waiting for a keyboard-press\n",
    "* Calculating confidence intervals for line-fits\n",
    "* Saving figures\n",
    "\n",
    "For such a short program, the definition of a \"main\" function, and calling\n",
    "it by default when the module is imported by the main program, is a bit\n",
    "superfluous. But it shows good Python coding style.\n",
    "\n",
    "Author: Thomas Haslwanter, Feb-2017"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {
    "slideshow": {
     "slide_type": "slide"
    }
   },
   "source": [
    "# Modules and Packages"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 15,
   "metadata": {
    "collapsed": false,
    "slideshow": {
     "slide_type": "subslide"
    }
   },
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Populating the interactive namespace from numpy and matplotlib\n"
     ]
    }
   ],
   "source": [
    "# To see the plots inline, even if you have not started the notebook \n",
    "# via \"ipython notebook --pylab=inline\"\n",
    "% pylab inline\n",
    "\n",
    "# Note: single comment lines are indicated by \"#\"."
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {
    "slideshow": {
     "slide_type": "fragment"
    }
   },
   "source": [
    "In contrast to MATLAB, you explicitly have to load the modules that you need.\n",
    "And don't worry here about not knowing the right modules: *numpy*, *scipy*, and\n",
    "*matplotlib.pyplot* are almost everything you will need most of the time, and you\n",
    "will quickly get used to those.\n",
    "\n",
    "*pylab* automatically imports the most important components from numpy and\n",
    "matplotlib into the current workspace."
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {
    "slideshow": {
     "slide_type": "slide"
    }
   },
   "source": [
    "# Sine Wave"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 16,
   "metadata": {
    "collapsed": false,
    "slideshow": {
     "slide_type": "subslide"
    }
   },
   "outputs": [],
   "source": [
    "# Create a sine-wave\n",
    "t = arange(0,10,0.1)\n",
    "x = sin(t)\n",
    "\n",
    "# \"arange\" and \"sin\" are from the package \"numpy\". But since the command\n",
    "# \"pylab\" already loaded \"numpy\" into the current workspace, they are known\n",
    "# here.\n",
    "\n",
    "# Next, save the data in a text-file, in column form.\n",
    "# The formatting is a bit clumsy: data are by default row variables; so to\n",
    "# get a matrix, you stack the two rows above each other, and then transpose\n",
    "# the matrix.\n",
    "outFile = 'test.txt'\n",
    "savetxt(outFile, vstack([t,x]).T)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 17,
   "metadata": {
    "collapsed": false,
    "slideshow": {
     "slide_type": "subslide"
    }
   },
   "outputs": [
    {
     "data": {
      "text/plain": [
       "[<matplotlib.lines.Line2D at 0x2bdf9d81240>]"
      ]
     },
     "execution_count": 17,
     "metadata": {},
     "output_type": "execute_result"
    },
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<matplotlib.figure.Figure at 0x2bdf9d25978>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "# Read the data into a different variable\n",
    "inData = loadtxt(outFile)\n",
    "t2 = inData[:,0] # Note that Python starts at \"0\"!\n",
    "x2 = inData[:,1]\n",
    "\n",
    "# Note: Python used (...) for function arguments, and [...] for indexing.\n",
    "\n",
    "# Plot the data\n",
    "plot(t,sin(t))"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {
    "slideshow": {
     "slide_type": "slide"
    }
   },
   "source": [
    "# Rotating a Vector"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {
    "slideshow": {
     "slide_type": "subslide"
    }
   },
   "source": [
    "When working with vectors and matrices, keep the following things in mind\n",
    "* By default, data are vectors.\n",
    "* Use *array* when you want to generate matrices."
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {
    "slideshow": {
     "slide_type": "slide"
    }
   },
   "source": [
    "# Noisy Data and Linefits"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {
    "slideshow": {
     "slide_type": "subslide"
    }
   },
   "source": [
    "Fit the following function: $y = k*x + d$"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 18,
   "metadata": {
    "collapsed": false,
    "slideshow": {
     "slide_type": "subslide"
    }
   },
   "outputs": [],
   "source": [
    "# Generate a noisy line\n",
    "t = arange(-100,100)\n",
    "\n",
    "# use a Python \"dictionary\" for named variables\n",
    "par = {'offset':100, 'slope':0.5, 'noiseAmp':4}\n",
    "x = par['offset'] + par['slope']*t + par['noiseAmp']*randn(len(t))"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 19,
   "metadata": {
    "collapsed": false,
    "slideshow": {
     "slide_type": "subslide"
    }
   },
   "outputs": [
    {
     "data": {
      "text/plain": [
       "[<matplotlib.lines.Line2D at 0x2bdf9e1d160>]"
      ]
     },
     "execution_count": 19,
     "metadata": {},
     "output_type": "execute_result"
    },
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<matplotlib.figure.Figure at 0x2bdf9d96080>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "# Boolean indexing works in Python: select \"late\" values, i.e. with t>10\n",
    "xHigh = x[t>10]\n",
    "tHigh = t[t>10]\n",
    "\n",
    "# Plot the \"late\" data\n",
    "plot(tHigh, xHigh)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 20,
   "metadata": {
    "collapsed": false,
    "slideshow": {
     "slide_type": "subslide"
    }
   },
   "outputs": [
    {
     "data": {
      "text/plain": [
       "array([3, 4, 5, 6, 7])"
      ]
     },
     "execution_count": 20,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "# Boolean indices can be combined:\n",
    "x = arange(10)\n",
    "topRange = x>2\n",
    "bottomRange = x<8\n",
    "x[topRange & bottomRange]"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {
    "slideshow": {
     "slide_type": "slide"
    }
   },
   "source": [
    "   ## Fitting a line to the data"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 21,
   "metadata": {
    "collapsed": false,
    "slideshow": {
     "slide_type": "subslide"
    }
   },
   "outputs": [],
   "source": [
    "# Determine the best-fit line\n",
    "# To do so, you have to generate a so-called Design Matrix, with \"time\" in the first\n",
    "# column, and a column of \"1\" in the second column:\n",
    "xMat = vstack((tHigh, ones(len(tHigh)))).T\n",
    "slope, intercept = linalg.lstsq(xMat, xHigh)[0]"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 22,
   "metadata": {
    "collapsed": false,
    "slideshow": {
     "slide_type": "subslide"
    }
   },
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Fit line: intercept = 100.251, and slope = 0.488\n"
     ]
    },
    {
     "data": {
      "image/png": "iVBORw0KGgoAAAANSUhEUgAAAXoAAAD8CAYAAAB5Pm/hAAAABHNCSVQICAgIfAhkiAAAAAlwSFlz\nAAALEgAACxIB0t1+/AAAIABJREFUeJzs3Xd4XMXV+PHv7Kr3Lkuyii333sAGYwzBgIGEHiC0UIJD\nQgK8IQkBkxfe8DOkQAKEbhLAiWmhQygBB1zABdvYxg1bllUtq/ddrbTa+f1xd1cr7a66rOLzeR4/\nsa7u3h0p5mh05swZpbVGCCHEyGUa7AEIIYQYWBLohRBihJNAL4QQI5wEeiGEGOEk0AshxAgngV4I\nIUY4CfRCCDHCSaAXQogRTgK9EEKMcAGDPQCAhIQEnZWVNdjDEEKIYWXbtm0VWuvEru4bEoE+KyuL\nrVu3DvYwhBBiWFFK5XfnPkndCCHECCeBXgghRjgJ9EIIMcJJoBdCiBFOAr0QQoxwEuiFEGKEk0Av\nhBAjnAR6IYQYJI98eoAvcioG/H0k0AshxCCoa2rh0TUH2ZpXPeDvJYFeCCEGwa7CWrSGOZkxA/5e\nEuiFEGIQbC+oRimYmS6BXgghRqTtBdWMT4ogKiRwwN9LAr0QQgygj3aXsLu4tt01rTVfF9QwOz32\nmIyhy0CvlPq7UqpMKbXb49p9SqlipdQO559zPT53l1IqRyn1rVLq7IEauBBCDHUtrQ5uf3UH97+/\nt9313IpGaq0txyQ/D92b0b8ALPVx/S9a61nOPx8AKKWmAFcAU52veVIpZe6vwQohxHCy90gdTS0O\nvsqroqLB5r7+dUENALMzhsiMXmu9Dqjq5vMuAF7RWtu01oeBHODEPoxPCCGGrW35RumkQ8N/9pS6\nr28vqCYyJIBxiRHHZBx9OXjkZ0qpa4GtwB1a62ogDdjkcU+R85oQQvSrWksLq7fkU9nQTK21hTpr\nC1cvyOTUCV0euHTMbCuoJi0mlACz4qM9R7lyfgZgzOhnpcdgMqljMo7eLsY+BWQDs4AS4OGePkAp\ntUwptVUptbW8vLyXwxBCHK/e23WEP370LS9tLuCLnAo2Hqrkd+/vRWs92EMDjAXXbXnVzM2MZem0\nUXyZU0GtpYUGm51vj9Yds7QN9DLQa61LtdatWmsHsJK29EwxkO5x62jnNV/PeFZrPU9rPS8xcej8\nBBZCDA/l9UbO+5v7zmLjXWfwfxdMJaesgfUHB76lQHccqW3iaF2TEeinjsLu0Hy6r5RdRTU4NMzJ\nODYLsdDLQK+USvH48CLAVZHzLnCFUipYKTUGGA9s6dsQhRDCW1VjMzFhgQSYjTB23owUEiOD+fsX\nhwd5ZAZXfn5uZiwzR8eQEh3Ch7uPti3EHqPSSuhGjl4p9TJwGpCglCoC7gVOU0rNAjSQB/wYQGu9\nRyn1GrAXsAO3aK1bB2boQojjWWWjjfjwIPfHwQFmrlmQyZ8/OUBOWQPjko7NQqc/2/KqCAsyM2lU\nJCaT4uypo3hpSwGNNjvZieFEhwXC4cMQGgqjRg3oWLpTdfMDrXWK1jpQaz1aa/03rfU1WuvpWusZ\nWuvztdYlHvev0Fpna60naq0/HNDRCyGOWxUNzcRHBLe7duX8DIICTLzwZfdm9U0trVy5cpN79t2f\nthVUMys9xv0bxznTRtFsd7Axt5KzTdVw7bUwfjw8+GC/v3dHsjNWCDEsVTbYSIgIanctISKYC2el\n8sa2YmoszV0+Y29JHV8equSlzQX9OrZGm519JfXMzWxLz8zLimNhXT5PvvUAv7rjEnjjDbjtNrjz\nzn59b18k0AshhqXKxmbiw4O9rl+/cAzWllZe+aqwy2ccLK0H4LNvy2h19F+1zs7CGlodui3Qb9iA\n+bxzWf3ULZySv5PK234J+fnw8MOQmtpv7+uPBHohxLBjb3VQY2khLjzI63OTU6I4OTueF7/Mo9Fm\n7/Q53x5tAIyF3R2FvU/fvPV1Ee/uPOL+eFt+NWjNCQe2wuLFsGgRbNtG9T33seqVtcQ9/AdISOj1\n+/WUBHohxLBT5UzLdEzduNy+ZAKldU385s1vOq2rP1Baz5iEcAJMik/3lfV6PH/+5AC3vvw1z6w9\nBA4H+q23+PjlXxJ+/nlw6BA88gjk5RF7/7387MK5x2yjlIsEeiHEsFPZYAT6jouxLieOieOXZ0/k\nvZ1HeOHLPL/POVBaz5yMWE7IimPNvlK/93Wm2e6guNpKXJCJvQ89RfnYidz6xJ0ktFhg5Uoj0N92\nG4SF9er5/UECvRBi2HEHeh+pG5efLM7mzCnJrPj3Prble7frqrE0U1ZvY+KoCM6YnMSB0gYKqyw9\nHktxaQ2Xff0Ra5//CY++/zBVjc3c+r1f8vnb6+BHP4Jg3z+MjiUJ9EKIIcXh0F22MahsNHbF+pvR\nAyileOj7M0mLDeWnq7e7d9K6HCg18vPjkyNZMjkZgE97Mqu3WODRR0mZO43ff/w4prhY9Jtv8sbz\nH/Df2UtYMDG5+88aYBLohRBDyi0vbeeOf+3s9B7XjN5fjt4lOjSQp66aS2VDM89tyG33uW+dFTcT\nkyPJSggnOzGcNd3J09fWGrXvWVlw++3UpKRzzWW/o3Hdl6iLLuLu707l6/89k7SY0K6fdYxIoBdC\nDClf5VWxr6S+03sqG22YTapbx/BNSY1iXlYs6w+074Fz4Gg9kcEBpESHAHDG5GQ2H66kvqnF94Mq\nKuCeeyAzE+6+G+bNg/XrefZ3z7N1wgkkRoW4bw00D63QOrRGI4Q4rtVYmqloaPZKs3RU2dBMXHhQ\nt6tXFo1PZG9JXbvnHiitZ3xyBEoZzzhjUhItrZp1HX4gcOQI/OIXRoB/4AFYsgS2bYMPPoBTTiG/\nspHM+DD3c4YiCfRCiCHjUHkjAFWNtk43MFU0NHe6ENvRKeOMmvUvDxlBXGvNgdJ6Jo6KdN8zNzOW\n6NDAtuqbw4fh5pthzBh47DG45BLYvRtefx3mzHG/Lr/KQmb84FXUdIcEeiHEkHGo3Fggdei2BVdf\nqhptJHSyENvRtLRoYsIC3S2MyxtsVFtamJDcFugDzCbOmJREzrqvsF99tdGH5vnn4frr4cABWLUK\npkxp91yHQ1NQZSEzPrwnX+Yx15cTpoQQol+5Aj0Y/eaTIkN83lfZ2Ex6XPdn0WaTYmF2AusPlqO1\n5qCz4sYz0LN9O/e8cB8xH72PIyQEbr0V7rgD0vwfkne0rolmu0Nm9EII0V2HyhpxpborGvw3JXPl\n6Hti0fgESuts5JQ18O1RY7F3QnIkbNgA55wDc+cSu3Edr515NVfc/TL64Yc7DfIAeZVGqikzbmjP\n6CXQCyGGjNzyBqakRAH4XZBtammlwWbvUeoG4JTxRp5+3cEKDhyt47wju0g470x3HxoeeACVn49p\nxQq2NgawKdd7k1VHBZXGBiuZ0QshRDc02x3kV1mYPyYe8B/oKxu73hXry+jYMLLjQml89XV+dMcV\nPPGPu1G5ue4+NNx1F0RHc/6sVGLCAnmxk9YJLnmVFgLNitQhVDPvi+TohRBDQkFVI60OzfTRUYQH\nmf0G+qou+tz4ZLfDq6/y0hP3kVyQQ0FsCm/fch8XPvwbrxYFIYFmLj8hnZXrcimusXa68amgqpH0\n2DDMx7hJWU/JjF4I0Smttf9NRP0op8zId2cnRpAYGUx5g+9AX+Fuf9CNGb3NZjQWmzQJrr6a8CAz\nt37vl5z+o6dpuPo6v31orlmQCcDqTfmdPj6vwkLGEE/bgAR6IUQX/rW1iJMe/C8NXfR27ytXxc1Y\nZ6Cv8Je66UZDM1cfGrKzYdkyiI2Ft95C79zJv6edTqvJ3L7ipoPRsWEsmZzMK18V0tTi+9hrrY3S\nyqwhXloJEuiFEF1Ys7+UBpudXI/Sx4FwqLyBUVEhRAQHdDqjr2zopKFZba2xezUzE26/3Qj0H38M\nW7bAhRcSGRbMnIwYACYkd354+PULx1DV2Mz1z39FUbV3V8vKxmYabHYyelDmOVgk0Ash/NJas+Ww\nUX2SV9nzFr49cai8kewkY3acEBHc6WJscICJ8CBz28WKCvjtb40Av3w5nHACrF8Pa9fCWWeBR3uC\nH5yYwdlTk4kJ6zz1c1J2PH+8ZAa7impY+sh6/rW1sF1XzXzn9yMrQQK9EGIYyylroNpi5OfzKhr7\n7bm11hYqPGbsWmtyyxrITjRm2YkRwdRaW7DZvdMmlQ3NJEQEG71lPPvQrFjh1YfGl4vnjOaZa+Z1\na5yXnZDOR7efypTUKH71+i6Wv73b/bl8Zw19xhCvoQcJ9EKITmx2zuaDA0zuzUH94dev7+TCJ76g\npdUBGKWU9TZ7W6CPNNIyvjZNVTbamNJU4d2HZs8erz40/SE9LoxXblrAdSdn8dLmAvchJvmVFpSC\n9LihXVoJEuiFEJ3YfLiK5KhgZmfE9NuMvtWh+TKnkqJqK+/sMA7UznHm/70Cfcf0zb59XPvU//L0\n/VcafWiuu66tD83kyf0yPl9MJsWvl04kOSqY+9/fh9aa/MpGUqNDCQ4wd/2AQSaBXgjhk5Gfr+TE\nMfGMSQh356T7au+ROuptdgLNiqc+z8Hh0O6ulZ45evDYNLV9O1x6KUydykk71rLhnB9Abi488wyM\nHdsv4+pKWFAAvzxrIjsKa3hvV8mw6Frp0mWgV0r9XSlVppTa7eNzdyiltFIqwfmxUko9ppTKUUrt\nUkr17+9QQohjpqDKQmmdjflj4siKD6eysZm6fqin33y4EoA7l07iUHkj/9l7lENlDYQFmRnlPLzD\nNaPXHn1o+PRT9F13cdotz/PlT+/usg/NQLhkzmimpETxhw/3c7iiceQEeuAFYGnHi0qpdOAsoMDj\n8jnAeOefZcBTfR+iEGIwuPLz88fEudvw5lf0fVa/KbeKrPgwrl84hqz4MJ78/BCHyo2FWKUUaE3C\nl5/x6uo7OfPHl7r70JCfT+P//h+lwZHd2yw1AEwmxT3nTaa4xkqNpWXItyd26TLQa63XAb66+/wF\n+DXgeTrABcAqbdgExCilUvplpEKIY2rL4SriwoMYlxTBmAQjoB3u44Ksw6H5Kq+K+WPiMZsUP16c\nza6iWjYeqmRcfCi89RaceCJB551HVl0pH9x4Z7s+NO4a+vCeNTTrTyePS2DJ5CQAModBDT30steN\nUuoCoFhrvbPD8VlpQKHHx0XOayW9HqEQYlBsPlzJCVmxKKXcm4Ly+7ggu/9oPbXWFuaPjQPg4jlp\n/PXjfZyw5RPuefldyDto5NyffZbrqrPISo3j3LC2YOqqwokbpBm9yz3nTcFmdzAvK25Qx9FdPQ70\nSqkw4G6MtE2vKaWWYaR3yMjI6MujhBD97EiNlcIqK9efPAaA0CAzKdEhfZ7Ru/Lz88fGg81G8KpV\nfPjM/yO6uID67ImwejVcdhkEBBDz7CavTVOuGX3CIM7oAbISwvnHjfMHdQw90Zuqm2xgDLBTKZUH\njAa2K6VGAcVAuse9o53XvGitn9Vaz9Naz0tMTOzFMIQQA+WrPCNbe+KYthlrZnxYnytvNudWkR2u\nSHvxWXcfmshRSax54GkC93wDV14JAcb801cbhCpXi+JBntEPNz2e0WutvwGSXB87g/08rXWFUupd\n4GdKqVeA+UCt1lrSNkIMM5sPVxEZHMBk5yEgAGMSwvnPntJeP1PX1DDtxSd4aMvbUF8Np54Kf/87\npjPP5Azl3eY3MdK7DYKrF31PT5c63nWnvPJlYCMwUSlVpJS6sZPbPwBygRxgJfDTfhmlEOKY+upw\nFfOyYtv1Wc/sbYllRQXccw+OzCx+tuZ56qfPMo7v89GHxlNiZDCW5lYaPbpmVjTYiAwOICRw6G9S\nGkq6nNFrrX/QxeezPP6ugVv6PiwhxGBptjvIrWjk7Kmj2l3P8iixnD462udri2usHCytp6qxGWte\nIfPffJ7st1ajrFaKFp/NTzOX8tTDN0E36s9dm6YqGmyEBxuhqrKhedAXYocjOWFKCNFOYbWFVod2\nl1S6uLo0Hq5s9BnoD5TW892/biCp4gg/2fw6l37zKWaHg3Xzz2bCn/8ffzwMVfnV3e4N49o0VV5v\nc9erVzbaenyEoJBAL4To4LCzHcGYxPaBPjPONaP3rrzRWvO3Z//Nw+89x3f3fA5mM83X38CH513D\nXV834viwDJNSLJmchPKTqukosWMbBOffh0O3yKFGAr0Qoh1Xl8oxHXZ9+i2x3L6dsjt/y4Offkhr\nSAjqttvgjjsITk3le8Cc06zc+fouNuRUsHBcQrfH4Z7ROytv8isbOVDawAWzjn3rg+FOAr0Qop3c\nikZiwgKJ9ZEiaVdiuWGD0QP+o48ICwnnpSVXc/k/H4LkpHavSYsJ5R83nsiuolqmp/nO7fsSFx6E\nSbV1sHxtayEmZfSbET0jgV4I0U5eRaPfc1DHxIdR9+4H8MpdsG4dJCay6Ud3cFPEiTz509MJTPa9\nJ0Ypxcz0mB6Nw2xSxIUbtfStDs3r24pYPCGRUdEhPf6ajnfSplgI0c7hikbGdliIxeGAt97if5Zf\nwxOr7sZxKBcefZSyXfu5MWUJ82eNZdH4/t/46KqlX3egnNI6G5efkN71i4QXCfRCDAN1TS0c7sej\n/PyxNrdSUtvUVnFjt8NLL8GMGXDxxYRb6rlz6c/Zu3YbW753NZf9YyctrZp7zhuYQz9cgf61rYXE\nhwfxnUnJA/I+I50EeiGGgSc+y+G8x9ZTY/E+Wq8/uRZix0YFwMqVMGkSXHWV8cnVqyn8chuvzjyb\n//34IJc/u5FWrVl144lkdfwNoJ8kRARxuKKRT/eVctHsNIICJGT1huTohRgGyutsWJpbeXlLIT85\nLXvA3ie/sJzrt77DWS8ug6NHYN48o3Xw+eeDyURms3FY9/aCGq47OYtfnT3RvZlpICRGBlPXZOyM\nvUzSNr0mgV6IYcDVduAfG/O4adEYAsx9n9m+s6OYmLAgFk9IhNpaePJJTv3jQyytqaJ10anw4vNw\n5pntWhSEBpl55PJZpMWGcsIxaNHrqqWflR7DhOTIAX+/kUoCvRDDQJ3VTkigiSO1TXy8p5TzZvTt\nPJ9Gm53fvPEN04KaWWzbAo8/DrW15M9eyMPzLuW5Z2/3+9oLZx+7OnZXLb0swvaNBHohhoG6phZO\nGZfAgdIGnv/icJ8D/bq1O7jjo6e5cudHaHsz6uKL4e67uWdzEwGm7u1cPRZOm5DEz04fx4WySapP\nZGVDiGGgztpCTFgQPzw5i6351XxTVNu7Bx0+DDffzJLzTua6be/x4YST+fCVT+D112HOHPIqGr16\n3Aym6LBAfnn2REKDpFtlX0igF2IYqGuyExUSyPfnjSY8yMzzXxzu2QP27oVrr4Xx49HPP89r05fw\n/PP/4aGrlvNes7GRqdbSQmVj85AK9KJ/SKAXYoiztzposNmJCg1wBvt03tt1hLL6pq5fvH07XHIJ\nTJsGb7wBt93Gy698zvKzbuE7585n8YRENhysoKXV4e5hM1ClkmLwSKAXYohrcB68ERUSCMA1J2XS\n0qr5YFcnh7etXw/nnANz58KaNbB8OeTnw8MP888COzNHR5OdGMHiCYnU2+zsKKwhz7khy2tXrBj2\nZDFWiCGuzuoM9KFGoM9OjCApMpidHfP0WsMnnxiNxpx9aHjgAfjpTyHaaCb27dF69pbUcd/3pgCw\ncHwCZpPi82/LMJtMKAUZ3TgURAwvEuiFGOJcNfRRIW3/uc5Mj2FnYY3xgcMB77xjBPWtWyEtDR55\nBG66CcLaB+23vi7GbFJ8b2aq85mBzM2IZe2BcsYmRJAWE0pwgCx8jjSSuhFiiKuzOgO9c0YPMHN0\nNPlldVief9Hdh4bqaqNtwaFDcNttXkHe4dC8s6OYxRMSiXduRAJYPDGR3cV1bMuvloXYEUoCvRBD\nXNuM3hnobTbO/vI91qy8mbAbrjOurV4N+/fDj34EwcE+n/OfvUcpqW3iog4bnhZPMLpOFtdYJdCP\nUBLohRjiXDn6aN0Mjz4K2dmM/+0d1IZE8MHvnoRdu+DKKyHAfya2rqmFe9/dw6RRkV6Hfk9JiXIf\nxC2BfmSSQC/EEGetqOKnG18jZfYUuP12GDcOPv6Y23/xDO9knQCmrv8z/v2H+ymvt/GHS2Z4dYA0\nmRSnTjCO+JNAPzJJoBcj0r6SOu57dw8Ohx7sofReRQXccw+Xf38Rv163CjV3nnF83+efw1lnMSM9\nhp2FXe+Q3Xiokpc2F3DjKWP8nvL03RkpBAeYmJIS1c9fhBgKJNCLEemFL/J44cs8ypznjQ6mHYU1\nFFZZuv+CI0fgF7+AzEx44AEOzTyJy5f9FfXhB7Bwofu2maNjOFrXRGmd/41TTS2t3PXmLjLiwvjF\nmRP93vedScnsvPcskqLkmL6RSAK9GHG01qw/WA5A+SAH+ooGG1eu3MT/vrO765udfWgYMwYeewwu\nvRT27OFvt/6B4rFTvG6fmW7UxrvLLH28969f30VepYXfXzy9y34xIYFSVjlSdRnolVJ/V0qVKaV2\ne1y7Xym1Sym1Qyn1H6VUqvO6Uko9ppTKcX5+zkAOXghfDpU3cKTWmOWWN3SjTcAAenZdLpbmVjYf\nrqLZ7vB90969cM01MH48PP883HADHDwIL74IkydT19TSVnHjYWpqNGaTYleHjVM1lmb++NF+Fv3h\nM97fdYRbvzOOk8clDMSXJ4aJ7szoXwCWdrj2J631DK31LOB94H+d188Bxjv/LAOe6qdxCtFt6w5U\nuP8+mDP6svomVm3MIy0mFEtzK7uKOsy8PfvQvPmmUft++DA89ZQxq3eqsxp9bjoKCTQzMTmSnR7P\nPVBaz6l//Iyn1h7izCnJfPKLxfziLP8pG3F86DLQa63XAVUdrtV5fBgOuFa8LgBWacMmIEYp1bfG\n2UL00PqD5aTFhAJQVjd4gf7pz3NpadU8cdUclIIvciqNT2zY4LcPDampXs/xN6OHth2yWmtaWh3c\n8dpOAs0mPrxtEY/9YDbZiRED+SWKYaLXOXql1AqlVCFwFW0z+jSg0OO2Iuc1IY4Jm72VTblVLJmc\nRHRoIOUNgxPoS+ua+OfmfC6encas9BimpUTR8O77cOqpsGgRbNtmtCzIz4f774cE/6mVOmtLu12x\nnmaOjqauyU5epYVn1h7im+Ja7r9wGpNGSfWMaNPrXjda6+XAcqXUXcDPgHt78nql1DKM9A4ZGRm9\nHYYQ7WzLq8ba0sqi8Yl8cahy0FI3T36Wg8Oh+flp2fD22zz7+G9JObgbR1oaJj99aPxx9aL3xVUu\n+drWQp5bn8t5M1I4d7r8Ei3a64+qm9XAJc6/FwOehzuOdl7zorV+Vms9T2s9LzExsR+GIQSsPVhO\noFlxUnY8iRHBgxLoS2qtvLYpjxWWnWScvgAuuogYWwN3Lv05Gz7a5LMPjT+eveh9GZ8UQUigiac+\nP0RUSCC/O39qf34pYoToVaBXSo33+PACYL/z7+8C1zqrbxYAtVrrTppmC9G/1h+oYG5mLOHBASRG\nBh/71I3NRtEfH+PDp5dx+aN3G9dWr4Z9+3lzzlK+KKzv0eM69qLvKMBsYnqaUWb5/y6c1q5ZmRAu\nXaZulFIvA6cBCUqpIowUzblKqYmAA8gHbnbe/gFwLpADWIDrB2DMQvhUXm9jb0kdvzrbqDJJijyG\nM3qLxegc+ac/cUJxMd+kjKf1b29ivvACMJkIBWZnxPKla0G2mzr2ovflxlPGsmh8PedIykb40WWg\n11r/wMflv/m5VwO39HVQQvTGhhxjk5SrG2NiZDCW5lYabHYiggfo6IXaWnjiCfjLX4yWBYsX86cr\n7uS/o2fy4cWntrt1YXYCj6w5QI2lmZiwoG493lcv+o6WThvF0mmj/H5eCNkZK0aMdQcqiA8Pcvdr\nSYw00hgDMqt39qEhM9MojzzhBOP4vs8/553EqYxPjvR6ycJx8WgNm3K7P6v31YteiJ6SQC9GBKPt\nQQULxyVgMilggAJ9hz40LFlilEp+8AGccgqWZjtF1VbGJ3nXr89MjyEsyNxWT98NXr3ohegFCfRi\nSCuta+LWl7+m1jmz9efb0noqGmwsGt9Wj96vgb5jH5pLLoE9e+D112FOW6eP3HLjgO1xPgJ9oNnE\niWPi+PJQhdfn/GnL0cupn6L3JNCLIW315gLe3XmEbflVnd634aARPBd69HRJjHAF+j70u9m3D669\ntq0PzfXXw4EDsGoVTJ7sdfvBMqOqZnyy7x2pp4xL4FB5I8U11m69vXtGL6kb0QcS6MWQpbXmvZ1H\nACio7LzN74acCsYmhpPqbH0AEBsWRIBJ9ajE8rn1uVy5chPNW74yukdOnQpvvNHWh+bpp2HsWL+v\nP1jaQIBJkRnv+wCPMyYnA/DR7qPdGk+dtQWlICJIZvSi9yTQiyFrd3EdhyuMVEhBlf8ZcLPdwebc\nKhZ16NBoMikSIoJ71O9m72sfsOzBnxE0/0T49NN2fWiOhMW6x+NPTlkDWQnhBJp9/6c1JiGcSaMi\n+Wh397aX1DXZiQwOcK87CNEbEujFkPXuzmICzYq0mFAKOjm4Y3uB0fZgoY9WvN3aNKU1fPwxzQtP\n4c+P/5wZZYf44+Jr+Wrt1+4+NLuLaznvsfXcsnp7p4/KKWvwuRDr6dzpKWzNr6askwNDXDrrcyNE\nd0mgF0OSw6F5b2cJiyckMiU1qtMTmr7IqcCkYEF2vNfnEjvbNOVwwNtvw4knwtKl2A/lct8Zyzj8\n1Td8cN513P7hYeqaWthZWMOVKzdRbWnhUHmD3+MJbfZW8qssPhdiPZ0zbZTxs2VP1+mbzjpXCtFd\nEuiPY98erSe3vGGwh+HTlrwqjtY1cf6sNDLiwiiosmDsx/O2IaeCmekxPgOir343n+85wj9//gB6\nxgy46CKoroaVK7n3obd5b/GlzJ6Yxp8vn0VJrZWf/nM7Vz23meiwQH5yWjY2u4OjfmbieRUWWh26\ny0A/PjmS7MRwPvimG4HeTy96IXpCAv1x7I5/7eCnXaQiBsu7O48QGmhmyeQkMuLCsLa0UtHQ7HVf\nrdWYcXfMz7skRgZT2dhMq0ODzQYrVzL1Oydy9ePLsTa3Gn1o9u9H33gja/PrONlZhz8nI5afnT6O\nDTkVJEZFQquLAAAgAElEQVQG89qPT+IU53vkVfrO0+eUGT80uwr0YKRvNh+upLKLtJLM6EV/kEB/\nnNJak1dhYf/Reg6U9qzR1kBrtjv44JsSzpySTFhQABlxRqfHgirvALsptxKHxmd+HiApKphAmxXr\nQ3+G7GxYtoyKoAiWXbSc39z7T7jySggI4EBpA2X1tnY/MH5+xnhWXDSNV3+8gJToUDLjjXHkVfhO\nIx0sq0cpunXYx9Jpo3Bo+GRvaaf3SY5e9AcJ9MepakuLuzPiuzuO9Oi1b39dzMEB/OGwIaecGksL\nF8wyTlvKiHcFeu8A+0VOBaGBZmZnxHo/qLaW+S8/wxdP3UDEnb+E7Gzq3n6Pc658iI0zFvHR3jKq\nGo3fElyHiZ/iseEq0GziqvmZJEWGAJAaHUpQgIl8PzP6g2UNpMeGdeuQ7SkpUWTGh/FBF2WWnfWi\nF6K7JNAfp1yLm6GBZt7decRv/rujVofmV6/v5NE1BwdsbO/vLCE6NJBF443mZGkxoSgFBZXeJZYb\nDlYwf2wcQQEe/5Q9+tBM/Ovv2ZUynq9feg/WrmXbpBNBKX551kSaWx28ub3IeI6POvyOTCZFRlyY\n3xLLQ92ouHFRSrF02ii+zKmg1uJ7129XveiF6C4J9Mcp1+z4yvkZFFRZ2FlU263XVTbYaGnVbMqt\n6vYPh546WNbA7IwYd/AOCTQzKirEa0ZfXGMlt6LRnTv31YemZM0Grv/+/3FowiwAdhXWohRcMnc0\nczJieGlLATZ7q886fF+y4sPJ97F5y97qILe8kXF+dsT6cs60FOwOzX/2+p7Vd9WLXojukkB/nCqs\nNoLVTYvGEmQ2dTt9U1JrVJxUNNg4NEAVO+X1NpIi2x+gkR4X5lVi+WWO0fbgtKCG9n1oLr3U3Ycm\nauF89zMBdhXVkJ0YQURwAFecmEFueSPPrM3F2tLKKeO7PuksKz6MvMpGrxLLwmorza0OxvXgMO6Z\no6MZmxDOs+tysbc6vD7fnV70QnSHBPrjVGGVhfjwIEZFh3DaxETe33XEqEzpgivQA2zM7bz/TG84\nHJqKBpu7IZmLq8TSU976rfz1o7+QvXCO0Yfmhhvg4EF48UV3H5rw4ADCg8yU19vQWrOzqJYZo40T\nmb47I4XI4AD++t+DmE2KBWPjuhxfVkI4NruD0g79c1xrFr7aE/ujlOLOcyZxsKyBl7YUeH2+O73o\nhegOCfTHqYIqC6Od1Sznz0qlrN7G5sNdt889WmvkySODA3rUV727aqwt2B2ahAjvQH+0rommllbY\nvh0uuYQ77riEs/Z9gXL1oXnqKWNW30FSVAjlDTZKapuoaLAxc7RxoHZYUAAXzk6jpVUzOz2GyG6k\nSLKcPWw65ulznL/dZCf67nHjz1lTkjk5O54/f3LAK1cvvehFf5FAf5wqrLK6yxbPmJRMeJC5W+mb\nkromgswmzpicxObcyn7P07tSLL5m9POK9tC69ByYOxfHmjU8vuAyXvnXOnj4YUhN9fvMxIhgyuqa\n2FVUA+Ce0QNccaJxlv2ibqRtALISjO9Zxzx9TmkDKdEh3fph4UkpxW+/O4U6a4vXArf0ohf9RQL9\nccje6qC4xkp6rFFhEhpk5swpyXy4+yjNdu9csaejtU2Mig7h5OwEKhqa3ZuEeuq9nUd48vMcr+vu\nQO+a0WsN//kPZ9x8Ga+vvpPAHdvhgQf4z7838edTr2HGrHFdvper383OoloCTIrJzhOoAKamRvPS\nTfP50SLv3wR8SYkOJchsIq/DjH73kdoepW08TU6J4vITMli1Ma/duof0ohf9RQL9caiktolWh3bP\n6AEumJ1GrbXFbwWI+7U1RqBfMNboK9Pb9M0rXxXw9w15XtfLG4zcd2J4ILz1ltGH5uyzCSvO574z\nlvHav9bDXXexscJOaKCZaWnRXs/oyNXvZldRDZNSIr3q3E/OTiC8m2fKmk2KjPj2JZYltVYOlDaw\n0Eevne6646wJhASaWfHvfe5r0ote9BcJ9MchV/WKZ6A/dXwi6XGhrNqY3+lrS+qspESHkB4XSmp0\nCBt7GegLq6xUNNiw2VvbXa+obuSCPZ+R+Z2T4OKLjT40zz6LKSeHV0+6iMMWI1W0Ja+aOZkxftsB\ne0qMDKa+yc6OghpmOPPzfZEVH9YudbPugPNQ8ondS//4khARzE9Oy+a/+8vYV1IHSC960X8k0B+H\nXNUr6R6B3mxSXLMgky2Hq9h/tM7n6xwOTWmtjVHRISilWJAd36t6enurgyPOE5ZKa529Xpx9aC69\n6kweff9hTEq5+9Bw002okBB35U2ttYX9R+s4IavrKhloy/c3Nrcyoxu/AXQlKz68XYnl2gPljIoK\nYWIvUzcuV83PICjAxEubjQoc6UUv+osE+hHgjW1F3PvO7m7fX1htwWxSpESHtLt+2bx0ggNMfmf1\nVZZmmlsdpEQZr1swNp6qxmYO9jBPX1LbhN0ZJEuPVsKjj7r70NSHRXL3tf+H2rXL3YfGxVVLvz2/\nGq3hxB4GeqBfZvSZHiWW9lYH6w9WsHhCIkr1LSDHhAXx3ekpvPV1MY02u/S5Ef1GAv0I8OHuEt7Z\n2f1+NQVVVlJjQgjokPaICQvi/JmpvLW92Odh3EedNfSjoo1F3JOcefqNh3qWvimsthBpa+SnG19j\nximz4PbbjUD/8cfc/Zu/sX/+GWDy/qfpmtFvPlxFgEn57m/jg2thNyTQxIQe7Fz1J8vZe+dwRSNf\nF9ZQ32TvU9rG01ULMmiw2Xl35xHpXCn6jQT6EaCktolaa4vPAzHsrQ6vPHhhlaVdft7TD0/OwtrS\nyhvbiny+D0BqjDGjT48LIy0mtGcLshUVxKz4HV88dQO/XreKoxOnw4YNsHYtnHUW5Q3NXqWVLhlx\noViaW/l4z1Gmj44mNKjr5mGAe5ft1NRorx9uveGqpc+vtLD223LMJuW3e2ZPzcmIZdKoSF7aXCC9\n6EW/6fJfvVLq70qpMqXUbo9rf1JK7VdK7VJKvaWUivH43F1KqRyl1LdKqbMHauCiTUltE1pDvbM3\niqe73vyGq5/b3O5aZ4F+Wlo0szNi+OemfK8fHK7NUqM8Uj4LxsazqTv19B59aCa/8DhfZM3k+zf9\nlb/d9TgsXOi+rbzB5rVZyiXDYybd3bQNQFx4EEEBJman9z1tA5Aa01Zi+fmBMuZkxBDdTykWpRRX\nzc/gm+Jadh+plRm96Bfdmd68ACztcO0TYJrWegZwALgLQCk1BbgCmOp8zZNKqe5Nu0SvNLW0ulvt\n1vlItxyuaOSrvGr3SVKNNjuVjc2MjvUd6AF+eFIWuRWNbHD2knEpqW0iwKRICG8LxCdkxVJtafF/\naPbhw+370FxyCQ/+6V+suP5+6qfMaNdSoaXVQVVjZzP6tjF3dyEWIMBs4tVlC/j5d8Z3+zWdMZsU\n6XGhbM2vZndxHadNTOqX57pcMDuN0EAzluZWydGLftFloNdarwOqOlz7j9baNX3cBIx2/v0C4BWt\ntU1rfRjIAU7sx/GKDo56BEpfefUa57X3d5UAbc3M/M3oAc6ZPoq48CB3C1/P90qOCmlXBTIrw5gl\n7yisaf+Qffvg2mth/HijD83118OBA7BqFVtDR5EeG8ao6BBKattaD1c6T5DyF+hdP5yU6lmgB5id\nEUt0WP8Fzaz4cLblVwOweEL/5OddokIC3b34ZUYv+kN/5OhvAD50/j0NKPT4XJHzmhggJV0FeosR\nPF095wsqvUsrOwoOMDN/TBxfdwjeJbVNXpU645MiCQ8ytwX67duN7pFTp8Ibb8Ctt0JuLjz9NIwd\nCxidHtPjQkmJDqWkpm38XrtiOwgJNJMcFczE5Mh+Ddq9kZVg5OkTIoKZ4rHTtr9cNT8ToN9SQuL4\n1qeVHqXUcsAOrO7Fa5cBywAyMjL6MozjmueMuGOg11pTY2khPjyInLIGvi2tp7DauL+zGT3AzPQY\nPtx9lKrGZuLCgwA4WtfE1NT2Qc1sUkwfHY3t83Xw9K/go48gOhqWL0ffeiskJLQrO7Q2t1JebyMj\nLgyHhsrGZppaWgkJNLftivUzowe4eXE28X5+EBxLrsqbUyckDEid+/TR0fz5spmc1IfdtkK49HpG\nr5S6DvgucJVuW4krBtI9bhvtvOZFa/2s1nqe1npeYmL//uo7EjTY7Fzy1Jd88E1Jp/d1NqNvbG7F\n7tBcMnc0ZpPivZ1HKKyyEBEcQGwXM+JZzoXLnc5GYFprSmqt7Wf0zj40f/zrrfzhkVvQ27YZB37k\n58P99/PYzhqW/Hltu4Xaouq23yhczyqtM74Gfw3NPF2/cAznz/TfwOxYcZ0L29/5eU8XzxlNSrT/\nE6+E6K5eBXql1FLg18D5WmvPNn7vAlcopYKVUmOA8cCWvg/z+POXTw6wLb+6y9LFklorIYHG/40d\nA70rbZOdGM7J2fG8v6vEaE8cG9rl5p7padGYFOwoqHE/u6nFYdTQOxzt+tAklRfzf2fcxNfrvoa7\n7oLoaLTWvPl1EYfKG9u1C3CtEYyODXMf29d2mIkxXn9VN0PJgrHxPH31XM6bnjLYQxGiS90pr3wZ\n2AhMVEoVKaVuBB4HIoFPlFI7lFJPA2it9wCvAXuBj4BbtNatfh4t/NhdXMvzXxwG2ma7/pTUNJEV\nH06ASfkI9MbH0aFBfG9GKvmVFjYequwybQPGgR0TkiPdufcjNU2YHa3M3fABzJhh9KGpqoJnn6Xu\nm308P+8Cvq5odr8+p6zBHeC/ymtbyy+sMlJH6XGh7jJNV/qpvN5GVEhAtw7XHmwmk3Hmq1naE4hh\noMscvdb6Bz4u/62T+1cAK/oyqONZq0Oz/K1viAsPIjUmlDJnOsOfktomUmNCKa+3eQV618cxYYGc\nNDae5W9/g7WltdOFWE8zR8fw8d6j6KYmTM+t5L8rHyKz5qix0Lp6NVx2GQQEkASkRoe0q7z5ZF8p\nYBw+vi2/mu/PMzJ6BVUWQgJNJEYEE+HsGHmkpi1101naRgjRO7IzdohZvTmfnUW1/Pa7UxiXGEFZ\nXVeB3sibR4cGep1Q5JrRx4YFER0W6C4D7M6MHmBuUjAXrXud1rHZTLr3l9SERFL1z1fARx+aWRkx\n7Cisdn/86d5SpqdFc1J2fIcZvYX02DCUUoQFBRAdGuguEZVAL8TAkEA/hJTVNfGnj77llHEJnD8z\nlcSoYPdZp740tbRSbWkhJTqEqNBA79SN1UilxDgXXr/nXMTMjO8i0NfWwoMPcvHFp3DvmpXUpGbw\n+gPPcdEP/0zUFd/32YdmVnoMhVVWKhtslNfb+LqwhiWTk5mbGcuh8kb3pi6jtLLt/VM8auk72xUr\nhOg9aaQxhLyxvZh6m537L5yGUorkyBCaWx3UWFqIdZY4enItYqZEhxITFujecOTSlqM3Av13Z6QS\nYDL5PzavogIeeQQefxxqazEtXcqVyUuYcPFSGmx2kg5W+O0VMyvdaDC2o7CGyoZmtIYlU5JotBlL\nNNvyq1kyOYnCKgvzx7RtdjICvczohRhIMqMfQgqqGokPD2KMczNOUpQR9Pzl6V0z4ZQYZ+rGR44+\nJNDkXtw0mxTnzUjxXkD06EPDAw/AkiWwbRumDz/EftLJ7CiscR8h6M/0tGjMJsWOwho+2VdKanQI\nU1KimDE6mkCzYmt+FTWWFhpsdkbHtpUMpsSEUlLbhKXZToPNLoFeiAEggX4IKayyMtojrZEU2b7O\nvCPXrtKU6FCfgb7G0kxMqPdvAm4++tCwZw+8/jrMmQMYKZm9R+rIr2r02hXrKTTIzMTkSDblVrL+\nYDlLpiSjlCIk0Mz0tGi25lW7Sys9Uzep0SFUNTZT5NzI5W9XrBCi9yTQDyFF1ZZ2s93kLmb0R+tc\ngd6Y0dc1tW9VXGNpcefn2+nYh+aGG+DgQVi1CiZPbnfrrPQYmlsdFFZZu9y8Mysjhq/yqmlqcbBk\ncrL7+rysOL4pqnUfJJ7u0VDN1dv+m6JaoPPNUkKI3pFAf4wVVln4yycHaO3QArjVoSmusbYLgq4Z\nfVm97xn9kRorsWGBhASaiQ4N9GpVXGNtad8rpWMfmttuM2b1Tz1lzOp9mOXR2rezGb3nvRHBAcwf\n25aHn5cZS3Orw73LNz2u7QdGqvOZ3xRLoBdioIzYQG+zt7LnSO1gD6OdWksLP3x+C4+uOeg+ANql\nrL6JllbdbkYfGmQmMjjAb4nl0dom9yzb1c7Ws1VxrWtGv2EDnHMOzJ0Ln34Ky5cbbQoefhhSO28n\nkBId4g6+neXoAXe/98UTEgkOaNv0NDfTWKj9/NtyYsMCifToyOh65i5nqwUJ9EL0vxEb6N/aXsz5\nj39BRUPndejHSkurg1te2k5uudG3/VB5+3NW23aMti99TIoK9j+j9+gm6Zq5u/P0WjNx15fc+eDN\nsGgRbNsGK1a4+9CQ0L0TkZRS7pl6VzP67MQIvj93NNcvzGp3PT4imLGJ4dgd2uvrc/2g2nOkDpOC\n+HAJ9EL0txEb6I/UNtHq0BRWWbq+eYBprbnv3T1syKlgxUXTUAp3wHdxN/uKbZ8HT4oModTvjN5K\nSkyHQN9oc/eheeyFu0goKzJKJvPy4O67jc6SPeQO9DGd5+hNJsWfvj+TeT56xc9zzuo7BvrQIDMx\nYYHY7A7iwoOlpYAQA2DEBnpXQ68jNZ33ijkWXvgyj9WbC/jx4rFcNT+T9NgwvzP61A7B1N+M3trs\n2ixl3B8dqLhgz2fMOPdUuPhiHNXV3Ln057z00hojFx/Wvd2wvlx7UiZPXjWHtC4CfWdcwT/dx8lW\nrq8hIaKTCiEhRK+N2EDv2ol5pMbaxZ3dt7u4lvUHy3v0mv/sOcr97+/lzCnJ3Hn2JADGJob7nNEn\nRwV7NfRKjgqhrM57d6yr4iYtVMHKlYw/dR6Pvv8wrVrD6tWUbd7BqzPPJio6sqdfppfIkEDO7WOX\nxvlj4lAKxiVFeH3OtSAr+XkhBsaIDfSuXaFHavsv0P/x42/5n1d3dH0QttOOwhpufeVrpqdF8+gV\ns9wHVGQnRpBb0dCuFLKw2uLzHNekyGBsdgd11vYHf5eWVHL91nc458JFsGwZKj6OZRct5+WV78OV\nV1LT4gDwXV45CDLjw/nwtkVcOMt78XeUBHohBtSIDfQDMaPPKa2noqHZPZvuTEGlhRtf+IrEyGCe\n++EJhAW1dZsYmxhOU4uDEo/nFFVbvfLz0Bb83OkbZx+aWYvncO+alejsbPj4Y0xbtvDZ5JOpdbYc\ncP2gixlCR9FNGhXls4WCK10lgV6IgTFiA31/5+gbbXaOOHuyuDb3+FPf1MJ1L2yhVWteuP5ErwDm\nOp3okHMDkb3VQUltk88ZfXKUMdutyj8C99xjtCm4+26Ojp/KpVf9AT7/HM46C2Uytdsd6+5zM0Rm\n9J0Z5fwaZVesEANjxAb6alfqpp9m9J6Lp7uLOw/06w9WkFveyF8um+UO6p7GJhq9bHKdzyxxVgh5\nbiRySWms4p41K5m7eLbRh+bMM2HbNp79zePkTpzdLqcfFRrorqOvdXeuHPoLnK7KIZnRCzEwRmSg\nb2ppxdrSSniQ2X34dF+5tu+HB5nZfaSu03tdpZJznCWFHSVGBBMZHMAh54KsuweM54w+NxduvpmM\nedO4btt7HFq81OhD869/wZw5zs1S7evafc3oh1Lqxp85GbFcsyDTf1dNIUSfjMg2xdXOtM3klCi2\n5ldTUtvk7gjZWzllDQSYFGdMTmZjF+e4FlVbiQwJaN9+wINSirFJxoKs634wzlFl71548EF4+WUw\nm1HXX8+5gQtYeNYJ3OvRh+ZIjbXdLlowAr2rVXGNtYUgs4mwoKF/LF9IoJn7L5w22MMQYsQakTN6\n10Ls1NQooH/SNzllDWTGhzE7I4byelunZ7kWV1u7rDnPTmgrsSyqsjC9NIfRN10N06bBm2+29aF5\n+mlaMrO8GpsdrWvyajLWcUYfHRbY5SHgQoiRb0TO6F1pi6mpxi7Qfgn05Q2MT4pgeprxzG+Kakme\n4rslQHGN1efCqqfspAje/LoY638/55xfL+cXO780dq0uX24EeY8WBUmRwZR77I61NNupsbR49Z6J\nDg10L0IbLYqHftpGCDHwRvSMfnKKa0bft8qbZruD/EoL45IimJIahUm1dVvsSGtNUbV3WqXDTZx4\n4Ctefek3hJ5xOqmH9vLyhTf77UOTFBVCqcfu2M2HjTNYXb+xuESHBlJvs+NwaP8tioUQx50ROqM3\nAn1ydDCJkcF9ntHnVzbS6tCMS4ogLCiA7MQIv5U3dVbjpCSfqRuHA959F1as4IStWymJiOebX93H\nz8LmMW/KaH7gpw9NUmSwe3esUorP9pcRGmhmwdj4dve5WxU32amxtvSpZYEQYuQYkTP6anfFSRCp\n0SF93h170FlxMy7RaCcwLS3a74zeVUHTbkZvt8Pq1TBjBlx0EVRX0/L0M5x+83P8+/TLKbDhs7TS\nJTkqGGtLKw02O1pr/ru/jIXj4r3aJXh2sKy1NMuMXggBjNBAX9XYTGRwAEEBJlJjQvs8o3eVVmYn\nGZU709KiKau3UeZjQbbY+V5psaFgs8HKlTBpElx9tXHD6tWwfz+BP15GUmI0G3LK0dp3sy+XtiMF\nbeSUNVBUbeX0SUle93kG+hpri+TohRDACA30NZZmYsKNIGcE+qZu96fxJaesgbSYUHcbA/eCrI9Z\nfXG1ldDmJrJfeg6ys2HZMoiNNVoH79oFV14JAcZzshPD2V1s1OR3ltNP8miD8N/9ZQCcPtF/oK9o\nsGFpbpUZvRAC6EagV0r9XSlVppTa7XHt+0qpPUoph1JqXof771JK5SilvlVKnT0Qg+5KlaWFWOeO\n0NSYUKwtre5KnN7IKWto13VxamoUyteCbG0tWc88yhfP3ED4nb8yAv3HH8OWLXDhhWBq/+0e67Fr\ntmOfdk9JzhYB5fU2/ru/jEmjIr3aGUNbu4P8ykbnx0N/V6wQYuB1Z0b/ArC0w7XdwMXAOs+LSqkp\nwBXAVOdrnlRKHfMdOzWW5rZA7yxB7G2e3uHQ5Fa0D/ThwQGMTWibjVNR4e5D851/PsrBjMmwfj2s\nXQtnnQV+atld7RECzcrd08aXJOch4TllDWzNr+Y7PtI20Dajz3cetiKpGyEEdKPqRmu9TimV1eHa\nPsDXZpwLgFe01jbgsFIqBzgR2Ngfg+2uakszY507YV0z3yM1Te66+p4orrHS1OLw6qM+PS2anB0H\n4BcvwTPPgNUKF1/MrWOWUjdlBvNPObHLZ7t63qTGhHZ6slJkcAAhgSbe3F5Mq0N3GegLKp2BXlI3\nQgj6P0efBhR6fFzkvHZMVTe2EBvelrqB3m+aci3Etgv0ubn8+OU/8cZDV6MfewwuvdToQ/P666yL\nzOh2WaMr0Hdac4/xAzU5KoTiGisxYYHMzvDdQyc00EygWXnM6CV1I4QYxMVYpdQypdRWpdTW8vKe\nndrUmWa7gwab3Z26iQ8PIshs6nbqxt7qwNrc1gTNHegTI4w+NNdcAxMmMPGjN/jX9DP54oMv4cUX\nYfJkGmzGjtWudsW6JEYEEx8exNgE7w6XHbkWZBdPSPQ7+1dKER0aSEGVzOiFEG36O9AXA+keH492\nXvOitX5Waz1Paz0vMbH/uha6NkvFOoOcyaRIiQnp9u7Yhz85wAkrPmXjIaNxWU5ZAwtr84m99gft\n+tA0H8jhd+f+nHX2tqP6iqs9Siu7QSnFqz9ewC/OnNDlva4SS39pG5fo0ECa7cbpUsOhF70QYuD1\n987Yd4GXlFJ/BlKB8cCWfn6PTrk2S7lSNwCp0d2vpf9sfxkNNjs/fH4L/5jYzOW//z1z9m7y6kMT\nAszKKGKTRyfL4hpjJt2THanjkrp3puuo6BBMCk7topWvK09vNikig0fkxmchRA91GQmUUi8DpwEJ\nSqki4F6gCvgrkAj8Wym1Q2t9ttZ6j1LqNWAvYAdu0Vr3vRl8D7j63MR6lBamxoTy5aGKLl9b39TC\nt0fruD/0CLP/+RTTcnZQGRbNx1fdytlP/M4I9h4WjI3n8f8epK6phaiQQHe7YV9HAvbVjxaN4dQJ\nie1+gPniCvTRodK5Ughh6E7VzQ/8fOotP/evAFb0ZVB90Za68Qz0IZTWNWFvdfg8sxQAh4OCv63m\n7RcfYObRgzjS0vjHFf/DitSF3HnxHK8gD7BgbByPrYGteVV8Z1IyxdVWgswmEgbgSLyU6FCvtsS+\nuAK9lFYKIVxG3O/2bambtkCXGhOKQ0Npvc07rWK3w6uvwoMPMnXPHvJiUmh68mlCbriOy82BBO8o\n5rzpKT7fa05GLEFmE5tyjUBfVGMlNSYEUyelkgPNHeglPy+EcBpxLRCqfc7ofZRYuvrQTJzo7kPz\n5I33cctvVxPykx9DcDBBASYum5dOuJ9cd0igmVkZMe48vdGeuHsVNwOlLdBLaaUQwjDyAn1jM6GB\n5nadHd27Y2usYLHAo4+29aGJi4O33sL+9Q6eSJ3PnLE9qwBaMDae3cW11DW1dOtkqYEWJakbIUQH\nIy7QV1ma3aWVLikxoUTaGkl64i+QlQW33+7Vh2Z/WSONza3My/K9GcmfBWPjcGjYcLCCigZbl5uf\nBpp7MVZSN0IIpxGXo6+xtLSvTKmoIOKRR9j49CNENDXScPoSIn53L5xySrvXbS+oBoy8e0+48vRv\nbi8Cul9DP1DaFmMldSOEMIy4QF/V6GxoduQIPPSQuw+N+u75/DD9LHaPGs+rE2YyrsPrtuZVkxwV\n3OMZeUigmdkZMXz2rbG7d7BTN67cvCzGCiFcRlzqJrQwj5tf+ROMGQOPPQaXXAK7dxP+7tv8733X\nopTiypWbyatobPe6bfnVzMuM61Xt+YKx8bQ6jH73oztpN3wsJEQYgT4xsv9LPIUQw9PICfTOPjT/\n+OO1LFj7LtxwAxw8CKtWwZQpgNEWePWP5tPS6uCq5zZT4ux/U1JrpbjGytzMnqVtXFxnt5pNiuRB\nDlxkuB8AAAhESURBVLBjEyP4543zOXNK8qCOQwgxdAz/QL9tmzFrnzYN/eabPD/vfP72jzXw1FPG\nrL6DiaMi+ceN86m1tnDd37+i1trCtnwjP9/bQD87I4agABOjokL8b8g6hk4Zn0DgEBiHEGJoGN7R\nYNUqmDcP1qyB5cup3nOAFd/5EcHpozt92bS0aJ6+ei65FQ0sW7WVLw9VEhpoZkpqVK+GERJo5pRx\nCb1+vRBCDKThvRh73nnw4IPwk59AdDRVZfUAXfaDAWPW+9D3Z3LbKzvYfLiKBWPj+jQLfvKqOb1+\nrRBCDKThHejj4+E3v3F/6G5/0M1doRfMSqOszsaKD/YxLzOuT0Px3KAlhBBDyfAO9B346lzZlZtO\nHcu45Ahmp8cM1LCEEGJQjahA7+5cGd6zGvLTJ3Z+mIcQQgxnw3sxtoOepm6EEOJ4MLICfWMzQWYT\nYUGSLxdCCJeRFegtzcSGy8lKQgjhaUQF+qrGFknbCCFEByMq0NdYmiXQCyFEByMq0Fc5UzdCCCHa\njJhAr7WmrM5G4gAczC2EEMPZiAn0tdYWGmx20ge5TbAQQgw1IybQF1UbLYcH++APIYQYakZcoB8d\nKzN6IYTwNIICvQVg0A/nFkKIoabLQK+U+rtSqkwptdvjWpxS6hOl1EHn/8Y6ryul1GNKqRyl1C6l\n1DHr3VtcYyU8yCxnpQohRAfdmdG/ACztcO03wBqt9XhgjfNjgHOA8c4/y4Cn+meYXSuqtpIWGyq7\nYoUQooMuA73Weh1Q1eHyBcCLzr+/CFzocX2VNmwCYpRSKf012M4UVVslPy+EED70NkefrLUucf79\nKOA6iToNKPS4r8h5bcAVV1skPy+EED70eTFWa60B3dPXKaWWKaW2KqW2lpeX92kMtdYW6prsUlop\nhBA+9DbQl7pSMs7/LXNeLwbSPe4b7bzmRWv9rNZ6ntZ6XmJiYi+H4XxTKa0UQgi/ehvo3wV+6Pz7\nD4F3PK5f66y+WQDUeqR4BoyUVgohhH9dHiWolHoZOA1IUEoVAfcCvwdeU0rdCOQDlzlv/wA4F8gB\nLMD1AzBmL8U1rhm9BHohhOioy0Cvtf6Bn0+d4eNeDdzS10H1VFG1lZBAE3Hh0qJYCCE6GhE7Y4uq\nLYyODZMaeiGE8GFEBPriGqukbYQQwo8REeiNzVIS6IUQwpdhH+gbbHZqLC2kxUhppRBC+DLsA31b\nDb3M6IUQwpdhH+ilhl4IITo3AgK982QpCfRCCOHTCAj0FoIDTHIouBBC+DHsA31xjfShF0KIzgz7\nQC996IUQonMjItBLe2IhhPBvWAd6S7OdqsZmqbgRQohODOtALzX0QgjRtWEd6IvkwBEhhOjSsA70\nkSEBnDUlmYw4CfRCCOFPl/3oh7J5WXHMy4ob7GEIIcSQNqxn9EIIIbomgV4IIUY4CfRCCDHCSaAX\nQogRTgK9EEKMcBLohRBihJNAL4QQI5wEeiGEGOGU1nqwx4BSqhzIH+xx9FICUDHYgxhi5HviTb4n\n3uR74q2n35NMrXViVzcNiUA/nCmltmqt5w32OIYS+Z54k++JN/meeBuo74mkboQQYoSTQC+EECOc\nBPq+e3awBzAEyffEm3xPvMn3xNuAfE8kRy+EECOczOiFEGKEk0DfTUqpdKXUZ0qpvUqpPUqp25zX\n45RSnyilDjr/N3awx3qsKaXMSqmvlVLvOz8eo5TarJTKUUq9qpQKGuwxHktKqRil1OtKqf1KqX1K\nqZOO938nSqn/cf53s1sp9bJSKuR4/HeilPq7UqpMKbXb45rPfxvK8Jjz+7NLKTWnt+8rgb777PD/\n27ufUM3mMA7gnyfDwiiMxXTNpUsmmhQjiysWkz+hJjbyJzJNZDOFImEjSyVMqUmN2IjExDQLFsPC\naso0CzLNxsjc2/wrjKJEHovfuXm75mbuW+7Re55PnXrPn3p//fq+zzk957zv66nM3IBZbIuIDXgW\nezNzPfZ260PzBA6OrL+EVzPzCvyIR3oZVX+245PMvArXaHMz2JxExDo8jusz82qchfsNMydv445F\n25bKxp1Y3y2PYcfY75qZtYyx4GPchkOY6rZN4VDfY1vheZjuwnkz9iC0L3ys6vbfgE/7HucKzsf5\nOKy7/zWyfbA5wTocwRrtX+324Pah5gQz+PrfsoE38MDpjlvuUlf0Y4iIGWzEPqzNzKPdrmNY29Ow\n+vIansGf3fpF+Ckz/+jW57QP+lBchpN4q2tn7YyI1Qack8ycx8v4HkdxCvsNOyejlsrGwglywdhz\nVIV+mSLiPHyIJzPz59F92U67g3mMKSI240Rm7u97LP8jq3AddmTmRvxiUZtmgDm5EHdrJ8GLsdo/\n2xfFf5eNKvTLEBFna0X+nczc1W0+HhFT3f4pnOhrfD24EXdFxHd4T2vfbMcFEbHwx/PTmO9neL2Y\nw1xm7uvWP9AK/5BzcisOZ+bJzPwdu7TsDDkno5bKxjwuGTlu7DmqQn+GIiLwJg5m5isju3ZjS/d6\ni9a7H4TMfC4zpzNzRru59llmPojPcU932NDm5BiORMSV3aZb8I0B50Rr2cxGxLnd52hhTgabk0WW\nysZuPNw9fTOLUyMtnmWpL0ydoYi4CV/gK3/3o5/X+vTv41LtFzjvzcwfehlkjyJiE57OzM0Rcbl2\nhb8GB/BQZv7W5/hWUkRci504B99iq3ZRNdicRMSLuE97eu0AHtX6zYPKSUS8i03ar1Qexwv4yGmy\n0Z0UX9faXL9ia2Z+Odb7VqEvpZTJVq2bUkqZcFXoSyllwlWhL6WUCVeFvpRSJlwV+lJKmXBV6Esp\nZcJVoS+llAlXhb6UUibcX6HQU+Nbu1jSAAAAAElFTkSuQmCC\n",
      "text/plain": [
       "<matplotlib.figure.Figure at 0x2bdf9e39198>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "# Show and plot the fit, and save it to a PNG-file with a medium resolution.\n",
    "# The \"modern\" way of Python-formatting is used\n",
    "plot(tHigh, xHigh)\n",
    "plot(tHigh, intercept + slope*tHigh, 'r')\n",
    "savefig('linefit.png', dpi=200)\n",
    "print('Fit line: intercept = {0:5.3f}, and slope = {1:5.3f}'.format(intercept, slope))"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {
    "slideshow": {
     "slide_type": "slide"
    }
   },
   "source": [
    "# Pandas"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 23,
   "metadata": {
    "collapsed": false,
    "slideshow": {
     "slide_type": "subslide"
    }
   },
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "                            OLS Regression Results                            \n",
      "==============================================================================\n",
      "Dep. Variable:                      y   R-squared:                       0.885\n",
      "Model:                            OLS   Adj. R-squared:                  0.884\n",
      "Method:                 Least Squares   F-statistic:                     671.9\n",
      "Date:                Sat, 04 Feb 2017   Prob (F-statistic):           1.09e-42\n",
      "Time:                        14:27:52   Log-Likelihood:                -260.40\n",
      "No. Observations:                  89   AIC:                             524.8\n",
      "Df Residuals:                      87   BIC:                             529.8\n",
      "Df Model:                           1                                         \n",
      "Covariance Type:            nonrobust                                         \n",
      "==============================================================================\n",
      "                 coef    std err          t      P>|t|      [0.025      0.975]\n",
      "------------------------------------------------------------------------------\n",
      "Intercept    100.2512      1.143     87.697      0.000      97.979     102.523\n",
      "x              0.4881      0.019     25.921      0.000       0.451       0.526\n",
      "==============================================================================\n",
      "Omnibus:                        0.760   Durbin-Watson:                   1.719\n",
      "Prob(Omnibus):                  0.684   Jarque-Bera (JB):                0.850\n",
      "Skew:                          -0.204   Prob(JB):                        0.654\n",
      "Kurtosis:                       2.750   Cond. No.                         143.\n",
      "==============================================================================\n",
      "\n",
      "Warnings:\n",
      "[1] Standard Errors assume that the covariance matrix of the errors is correctly specified.\n"
     ]
    }
   ],
   "source": [
    "# If you want to know confidence intervals, best switch to *pandas*\n",
    "# Pandas is mainly used for statistics and worksheet-like data\n",
    "import pandas\n",
    "\n",
    "# The calculation of OLS has been moved to *statsmodels* now\n",
    "import statsmodels.formula.api as smf\n",
    "\n",
    "# Note that this is an advanced topic, and requires new data structures\n",
    "# such ad \"DataFrames\" and \"ordinary-least-squares\" or \"ols-models\".\n",
    "myDict = {'x':tHigh, 'y':xHigh}\n",
    "df = pandas.DataFrame(myDict)\n",
    "model = smf.ols('y~x', df).fit()\n",
    "print(model.summary())"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {
    "slideshow": {
     "slide_type": "slide"
    }
   },
   "source": [
    "# More Python Info on the Web"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {
    "slideshow": {
     "slide_type": "subslide"
    }
   },
   "source": [
    "[http://scipy-lectures.github.com/](http://scipy-lectures.github.com/) Python Scientifc Lecture Notes. **If you read nothing else, read this!**\n",
    "\n",
    "[http://wiki.scipy.org/NumPy_for_Matlab_Users/](http://wiki.scipy.org/NumPy_for_Matlab_Users/) Start here if you have lots of Matlab experience.\n",
    "\n",
    "[https://docs.python.org/3.6/tutorial/](https://docs.python.org/3.6/tutorial/) The Python tutorial. The original introduction.\n",
    "\n",
    "[http://jrjohansson.github.com/](http://jrjohansson.github.com/) Lectures on scienti\f",
    "c computing with Python. Great ipython notebooks!"
   ]
  }
 ],
 "metadata": {
  "kernelspec": {
   "display_name": "Python 3",
   "language": "python",
   "name": "python3"
  },
  "language_info": {
   "codemirror_mode": {
    "name": "ipython",
    "version": 3
   },
   "file_extension": ".py",
   "mimetype": "text/x-python",
   "name": "python",
   "nbconvert_exporter": "python",
   "pygments_lexer": "ipython3",
   "version": "3.6.0"
  }
 },
 "nbformat": 4,
 "nbformat_minor": 0
}
